
use anyhow::Result;

use hyper::{Request, Response, Client, body};
use hyper::client::HttpConnector;
use std::collections::HashMap;

use serde::{Deserialize, Serialize};
use std::borrow::Borrow;

use std::ops::Sub;
use std::str::FromStr;
use sqlx::{Pool, MySql, types};
use chrono;

use crate::miner::{JsonRpcResponse, JsonRpcError};
use crate::miner;

pub async fn find_sector_in_storage(client: &Client<HttpConnector>, url: &str, token: &str) -> Result<()> {
    let input = "703
722
737
743
756
791
795
797
808
817
4934
4935
4936
5022
5335
5338
5354
5379
5405
5428
5497
5524
5802
5824
5863
6167
6168
6188
6387
6490
6633
6634
6635
6655
6987
6990
7023
7028
7365
16380
16411
16412
16414
16442
16769
16772
16816
16994
17095
17148
17171
17197
17633
17686
17951
17953
17964
17969
18284
18354
18370
18373
18376
18380
18410
18420
18423
18450
18453
18454
18471
18474
18481
18514
18589
18600
18619
18631
18635
18642
18645
18649
18711
18712
18736
18763
18973
18981
19159
19192
19193
19230
19422
19553
19586
19996
21573
22583
22594
22696
23708
23720
23728
23833
23907
23955
23975
23983
24071
24090
24097
24154
24288
24354
24377
24437
24910
24936
24965
25048
25161
25240
25373
25450
25492
25535
25537
25626
25641
25699
25728
25754
25776
25786
25787
25788
25789
25790
25791
25951
25952
25972
25986
26003
26011
26016
26385
26423
26710
26713
26722
26727
27061
27205
27207
27245
27333
27423
27427
27440
27442
27460
27479
27525
27535
27542
27547
27563
27564
27567
27576
27578
27595
27596
27610
27614
27623
27627
27631
27632
27637
27642
27643
27649
27652
27655
27658
27659
27669
27670
27671
27672
27676
27680
27688
27689
27692
27699
27705
27710
27712
27715
27717
27723
27725
27730
27731
27736
27738
27746
27757
27773
27788
27789
27798
27801
27821
27822
27823
27824
27830
27831
27832
27833
27835
27836
27840
27846
27848
27850
27851
27852
27854
27855
27857
27861
27864
27871
27873
27874
27875
27876
27877
27880
27882
27886
27889
27890
27891
27896
27899
27901
27903
27905
27912
27913
27914
27916
27922
27926
27928
27931
27933
27936
27940
27943
27946
27947
27948
27949
27950
27952
27953
27954
27956
27957
27958
27962
27965
27966
27967
27970
27973
27975
27977
27979
27980
27985
27989
27990
27991
27995
27996
27997
28000
28004
28005
28007
28010
28011
28012
28014
28016
28019
28020
28022
28023
28025
28028
28030
28031
28033
28035
28037
28038
28039
28040
28041
28042
28045
28046
28047
28050
28052
28053
28054
28055
28056
28058
28059
28060
28061
28063
28064
28065
28066
28068
28069
28070
28071
28072
28073
28074
28075
28076
28077
28079
28080
28081
28083
28084
28085
28086
28087
28090
28091
28094
28097
28098
28099
28100
28101
28103
28104
28105
28107
28109
28110
28111
28112
28113
28114
28115
28116
28118
28120
28121
28122
28124
28125
28128
28129
28130
28131
28132
28134
28135
28136
28140
28141
28142
28143
28144
28145
28146
28147
28148
28152
28153
28154
28156
28159
28161
28163
28165
28166
28167
28168
28169
28171
28174
28175
28176
28177
28178
28180
28181
28182
28183
28184
28185
28187
28188
28189
28190
28191
28192
28194
28196
28197
28198
28199
28200
28201
28202
28203
28205
28207
28208
28209
28210
28211
28212
28214
28215
28216
28217
28221
28222
28224
28226
28227
28228
28229
28230
28232
28233
28234
28235
28236
28238
28242
28243
28244
28245
28246
28248
28249
28251
28253
28254
28255
28256
28258
28260
28262
28263
28267
28271
28272
28273
28274
28276
28277
28279
28280
28281
28282
28283
28288
28289
28290
28291
28294
28295
28296
28297
28298
28299
28300
28302
28303
28304
28308
28309
28312
28313
28314
28315
28316
28320
28321
28322
28323
28324
28326
28327
28328
28329
28332
28335
28337
28338
28339
28340
28342
28343
28344
28353
28355
28356
28366
28374
28377
28386
28387
28390
28395
28407
28416
28422
28434
28437
28444
28451
28463
28498
28511
28515
28527
28531
28542
28555
28562
28563
28564
28594
28596
28607
28610
28619
28623
28634
28636
28637
28653
28657
28658
28659
28660
28663
28668
28673
28674
28675
28688
28694
28701
28703
28706
28724
28735
28747
28754
28773
28780
28798
28829
28839
28883
28884
28886
28891
28901
28906
28917
28920
28925
28927
28935
28937
28939
28940
28946
28947
28951
28962
28964
28965
28972
28974
28975
28981
28982
28983
28988
28989
28995
28996
28999
29001
29004
29005
29006
29008
29012
29014
29017
29018
29020
29021
29023
29024
29026
29028
29034
29036
29037
29039
29041
29042
29043
29047
29050
29051
29052
29054
29055
29056
29060
29061
29062
29064
29067
29295
29530
29549
29629
29642
29668
29672
29740
29789
29790
29826
29827
29834
29851
29868
29923
29926
29954
29956
29986
30005
30018
30031
30032
30071
30072
30088
30091
30110
30113
30121
30123
30125
30139
30141
30143
30147
30152
30154
30166
30167
30169
30173
30177
30193
30201
30208
30214
30215
30220
30228
30235
30237
30239
30241
30242
30243
30245
30247
30248
30249
30250
30251
30252
30255
30256
30258
30259
30260
30261
30262
30264
30265
30267
30268
30270
30274
30275
30276
30278
30280
30281
30283
30284
30285
30286
30288
30289
30290
30291
30293
30294
30295
30298
30300
30302
30310
30311
30315
30317
30318
30324
30331
30334
30337
30342
30343
30348
30349
30350
30355
30356
30358
30359
30360
30363
30367
30369
30370
30372
30375
30377
30380
30381
30382
30385
30387
30388
30391
30392
30397
30398
30399
30404
30405
30407
30410
30414
30415
30416
30419
30421
30422
30425
30427
30430
30431
30435
30444
30458
30488
30490
30493
30496
30497
30498
30500
30501
30504
30506
30509
30511
30512
30513
30515
30517
30518
30520
30525
30526
30527
30529
30531
30533
30534
30539
30542
30543
30544
30545
30546
30547
30548
30549
30550
30552
30553
30555
30556
30557
30558
30559
30560
30562
30564
30570
30571
30572
30573
30574
30576
30578
30579
30580
30581
30584
30585
30586
30587
30590
30591
30593
30594
30595
30596
30597
30599
30600
30601
30602
30605
30608
30609
30611
30612
30616
30623
30624
30629
30631
30632
30634
30639
30641
30642
30647
30649
30650
30651
30652
30656
30657
30660
30661
30662
30667
30669
30673
30681
30683
30686
30687
30689
30691
30692
30693
30694
30698
30700
30708
30709
30711
30713
30719
30721
30722
30723
30725
30727
30732
30734
30735
30737
30738
30743
30744
30745
30746
30752
30753
30758
30759
30761
30764
30765
30767
30768
30769
30770
30772
30776
30781
30783
30784
30788
30790
30791
30794
30795
30796
30798
30803
30806
30808
30809
30815
30817
30818
30819
30820
30827
30828
30832
30833
30837
30841
30855
30858
30864
30880
30881
30883
30884
30885
30889
30890
30892
30893
30895
30896
30897
30899
30900
30902
30905
30906
30908
30909
30915
30916
30922
30923
30925
30926
30927
30928
30929
30931
30932
30933
30934
30935
30936
30939
30940
30941
30942
30944
30945
30946
30947
30948
30949
30950
30953
30954
30956
30958
30959
30960
30961
30963
30964
30965
30969
30970
30972
30975
30978
30979
30981
30983
30984
30985
30986
30987
30988
30990
30991
30993
30994
30995
30997
30998
31000
31002
31003
31009
31010
31014
31016
31017
31018
31020
31021
31022
31024
31025
31026
31028
31029
31032
31033
31034
31035
31037
31039
31040
31041
31042
31044
31045
31047
31048
31049
31051
31054
31056
31057
31058
31059
31060
31061
31063
31064
31065
31067
31068
31070
31073
31074
31075
31076
31078
31081
31082
31083
31084
31085
31086
31087
31089
31091
31092
31093
31094
31095
31096
31097
31098
31100
31101
31103
31104
31105
31106
31107
31109
31112
31113
31116
31117
31118
31121
31122
31123
31124
31126
31127
31128
31134
31135
31138
31139
31141
31142
31143
31144
31149
31150
31153
31154
31160
31162
31163
31164
31165
31169
31170
31174
31177
31179
31180
31181
31188
31190
31192
31194
31195
31196
31198
31201
31202
31203
31205
31206
31207
31208
31209
31210
31211
31212
31213
31214
31216
31217
31219
31220
31221
31222
31223
31225
31226
31227
31228
31229
31230
31231
31232
31234
31237
31238
31241
31242
31244
31245
31248
31250
31251
31252
31253
31254
31255
31256
31257
31258
31259
31264
31265
31266
31267
31269
31271
31272
31273
31274
31275
31276
31277
31278
31279
31280
31281
31282
31283
31284
31287
31288
31290
31292
31293
31294
31295
31297
31298
31299
31300
31302
31303
31305
31306
31307
31308
31309
31311
31312
31314
31315
31316
31317
31318
31319
31321
31322
31323
31324
31325
31328
31329
31330
31331
31332
31333
31334
31336
31337
31338
31339
31340
31341
31342
31343
31344
31346
31348
31349
31350
31351
31352
31354
31355
31356
31357
31358
31359
31360
31361
31362
31363
31364
31365
31366
31367
31368
31369
31370
31372
31373
31374
31375
31376
31377
31378
31379
31380
31381
31382
31383
31384
31385
31386
31387
31388
31389
31391
31392
31393
31394
31396
31397
31401
31404
31405
31406
31412
31413
31416
31417
31418
31420
31423
31429
31432
31439
31440
31443
31445
31446
31447
31448
31451
31455
31457
31458
31460
31462
31463
31464
31465
31467
31468
31470
31471
31472
31473
31474
31475
31476
31477
31478
31484
31492
31500
31502
31503
31504
31505
31508
31509
31510
31512
31513
31514
31515
31517
31519
31523
31525
31526
31527
31528
31529
31530
31537
31539
31541
31542
31543
31547
31550
31558
31559
31560
31561
31562
31563
31564
31565
31566
31567
31568
31601
31602
31603
31604
31605
31606
31607";
    for line in input.lines() {
        let line = line.trim();
        let number = u64::from_str(line).unwrap();
        let ret = miner::storage::find_sector_from_storage(&client, &url, &token, 2462).await?;
        if ret.result.is_none(){
            // log::info!("{}", number);
        } else {
            let stores = ret.result.unwrap();
            if stores.is_empty() {
                log::info!("{}", number);
            }
        }
    }
    Ok(())
}